Correctness Proof of a Distributed Implementation of Prolog by Means of Abstract State Machines

نویسنده

  • Lourdes Araujo
چکیده

This work provides both a speci cation and a proof of correctness for the system PDP (Prolog Distributed Processor) which make use of Abstract State Machines (ASMs). PDP is a recomputation-based model for parallel execution of Prolog on distributed memory. The system exploits OR parallelism, Independent AND parallelism as well as the combination of both. The veri cation process starts from the SLD trees, which de ne the execution of a Prolog program, and going through the parallel model, it arrives to the abstract machine designed for PDP, an extension of the WAM (Warren Abstract Machine), the most common sequential implementation of Prolog. The rst step of this process consists in de ning parallel SLD subtrees, which are a kind of partition of the SLD tree for programs whose clauses are annotated with parallelism. In a subsequent step the parallel execution approach of PDP is modeled by means of an OR TASK ASM. In this ASM each task is associated with the execution of a parallel SLD subtree. The execution of the parallel SLD subtree corresponding to each task is modeled by a NODE submachine which is an extension of the one proposed by Borger and Rosenzweig to verify the sequential execution of Prolog. Accordingly, the veri cation leans on the results of this work in order to avoid the veri cation of the common points with the sequential execution. The new elements of the execution due to parallelism exploitation are modeled at successive steps of the veri cation process, nally leading to the extended WAM which implements PDP. The PDP veri cation proves correctness for this particular system but it can readily be adapted to prove it in other related parallel systems exploiting AND, OR or both kinds of parallelism.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reasoning about Abstract State Machines: The WAM Case Study

This paper describes the rst half of the formal veri cation of a Prolog compiler with the KIV (\Karlsruhe Interactive Veri er") system. Our work is based on [BR95], where an operational Prolog semantics is de ned using the formalism of Gurevich Abstract State Machines, and then re ned in several steps to the Warren Abstract Machine (WAM). We de ne a general translation of sequential Abstract St...

متن کامل

Correctness Proof For the WAM with Types

We provide a mathematical speciication of an extension of Warren's Abstract Machine for executing Prolog to type-constraint logic programming and prove its correctness. In this paper, we keep the notion of types and dynamic type constraints rather abstract to allow applications to diierent constraint formalisms like Prolog III or CLP(R). This generality permits us to introduce modular extension...

متن کامل

Veriication of a Prolog Compiler { First Steps with Kiv

This paper describes the rst steps of the formal veriication of a Prolog compiler with the KIV system. We build upon the mathematical deenitions given by BB orger and Rosenzweig in BR95]. There an operational semantics of Prolog is deened using the formalism of Evolving Algebras, and then transformed in several systematic steps to the Warren Abstract Machine (WAM). To verify these transformatio...

متن کامل

Veri cation of a Prolog Compiler { First Steps with KIV

This paper describes the rst steps of the formal veriication of a Prolog compiler with the KIV system. We build upon the mathematical deenitions given by BB orger and Rosenzweig in BR95]. There an operational semantics of Prolog is deened using the formalism of Evolving Algebras, and then transformed in several systematic steps to the Warren Abstract Machine (WAM). To verify these transformatio...

متن کامل

Gerhard Schellhorn and Wolfgang Ahrendt the Wam Case Study: Verifying Compiler Correctness for Prolog with Kiv

This chapter describes the first half of the formal, machine-supported verification of a Prolog compiler with the KIV system. Our work is based on the mathematical analysis given in (Börger and Rosenzweig, 1995), where an operational semantics (an “interpreter”) for Prolog is defined as an Abstract State Machine (ASM). This interpreter is then transformed in 12 systematic refinements to an ASM ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • J. UCS

دوره 3  شماره 

صفحات  -

تاریخ انتشار 1997